package com.wedimob.plugins;

import java.net.URI;
import java.util.Calendar;
import java.util.List;
import java.util.Locale;

import net.xeoh.plugins.base.Plugin;

public interface SimplePlugin extends Plugin {
	
	/**
	 * plugin category.
	 * 
	 * @return type
	 */
	PluginType type();

	/**
	 * Unique ID plugin.
	 * 
	 * @return id
	 */
	String id();

	/**
	 * URI of plugin homepage.
	 * 
	 * @return uri
	 */
	URI url();

	/**
	 * Plugin version.
	 * 
	 * @return version
	 */
	String version();

	/**
	 * URI of plugin screenshot.
	 * 
	 * @return uri
	 */
	URI screenshot();

	/**
	 * Title of plugin.
	 * 
	 * @return title
	 */
	String title(Locale locale);

	/**
	 * Author of plugin.
	 * 
	 * @return author name
	 */
	String author();
	
	/**
	 * Company of plugin.
	 * 
	 * @return company name
	 */
	String company();	

	/**
	 * Email of plugin author.
	 * 
	 * @return author email
	 */
	String email();

	/**
	 * Description of plugin.
	 * 
	 * @return description
	 */
	String description(Locale locale);

	/**
	 * Publication date of plugin.
	 * 
	 * @return publication date
	 */
	Calendar publicationDate();

	/**
	 * Describe what is new for a given version.
	 * 
	 * @return description
	 */
	String whatsnew(Locale locale);
	
	/**
	 * Detailed history version.
	 * 
	 * @return version history
	 */
	List<String> history(Locale locale);
}
